       IDENTIFICATION DIVISION.
       PROGRAM-ID. TP-GENERAR.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA.
       
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       SELECT ARCH_ALQUILERES_SEC ASSIGN TO DISK
                                  ORGANIZATION IS LINE SEQUENTIAL
                                  FILE STATUS IS ESTADO_ALQUILERES_SEC.
       
       SELECT ARCH_CHOFERES_SEC   ASSIGN TO DISK
                                  ORGANIZATION IS LINE SEQUENTIAL
                                  FILE STATUS IS ESTADO_CHOFERES_SEC.
       
       SELECT ARCH_CLIENTES_SEC ASSIGN TO DISK
                                ORGANIZATION IS LINE SEQUENTIAL         
                                FILE STATUS IS ESTADO_CLIENTES_SEC.
     
       
       SELECT ARCH_ALQUILERES_IND ASSIGN TO DISK
                                  ORGANIZATION IS INDEXED
                                  ACCESS MODE IS RANDOM
                                  RECORD KEY IS CLAVE_ALQUILERES_IND
                                  FILE STATUS IS ESTADO_ALQUILERES_IND.
        
       SELECT ARCH_CHOFERES_IND   ASSIGN TO DISK
                                  ORGANIZATION IS INDEXED
                                  ACCESS MODE IS RANDOM
                                  RECORD KEY IS CLAVE_CHOFERES_IND
                                  FILE STATUS IS ESTADO_CHOFERES_IND.
       
       SELECT ARCH_CLIENTES_IND ASSIGN TO DISK
                                ORGANIZATION IS INDEXED
						        ACCESS MODE IS RANDOM
						        RECORD KEY IS CLI_NUMERO_IND
						       ALTERNATE RECORD KEY IS CLI_DOCUMENTO_IND                      
                                FILE STATUS IS ESTADO_CLIENTES_IND.
       
       
       
           
       DATA DIVISION.
       FILE SECTION.
       FD ARCH_ALQUILERES_SEC     LABEL RECORD IS STANDARD
                                VALUE OF FILE-ID IS "..\ALQUILERES.TXT".
       01 REG_ALQUILERES_SEC.
           03 CLAVE_ALQUILERES_SEC.
               05 ALQ_PATENTE_SEC PIC X(6).
               05 ALQ_FECHA_SEC.
                   07 ALQ_FECHA_ANO_SEC PIC 9(4).
                   07 ALQ_FECHA_MES_SEC PIC 9(2).
                   07 ALQ_FECHA_DIA_SEC PIC 9(2).
           03 ALQ_TIPO_DOC_SEC PIC X.
           03 ALQ_NRO_DOC_SEC  PIC X(20).
           03 ALQ_IMPORTE_SEC  PIC 9(4)V99.
           03 ALQ_CHOFER_SEC PIC X(7).
           03 ALQ_ESTADO_SEC PIC X.
           
       FD ARCH_CHOFERES_SEC      LABEL RECORD IS STANDARD
                                 VALUE OF FILE-ID IS "..\CHOFERES.TXT".
       01 REG_CHOFERES_SEC.
           03 CLAVE_CHOFERES_SEC.
               05 CHO_NRO_LEGAJO_SEC PIC X(7).
               05 CHO_DESDE_FECHA_SEC.
                   07 CHO_DESDE_FECHA_ANO_SEC PIC 9(4).
                   07 CHO_DESDE_FECHA_MES_SEC PIC 9(2).
                   07 CHO_DESDE_FECHA_DIA_SEC PIC 9(2).
           03 CHO_HASTA_FECHA_SEC.
               05 CHO_HASTA_FECHA_ANO_SEC PIC 9(4).
               05 CHO_HASTA_FECHA_MES_SEC PIC 9(2).
               05 CHO_HASTA_FECHA_DIA_SEC PIC 9(2).
           03 CHO_TURNO_SEC PIC X.  
       
       FD ARCH_CLIENTES_SEC       LABEL RECORD IS STANDARD
                              VALUE OF FILE-ID IS "..\CLIENTES.TXT".
	   01 REG_CLIENTES_SEC.
	       03 CLI_NUMERO_SEC PIC X(8).
		   03 CLI_FECHA_ALTA_SEC.
		       05 CLI_FECHA_ALTA_ANO_SEC PIC 9(4).
               05 CLI_FECHA_ALTA_MES_SEC PIC 9(2).
               05 CLI_FECHA_ALTA_DIA_SEC PIC 9(2).
		   03 CLI_TELEFONO_SEC PIC X(20).
		   03 CLI_DIRECCION_SEC PIC X(30).
		   03 CLI_DOCUMENTO_SEC PIC X(20).
       
       
       FD ARCH_ALQUILERES_IND     LABEL RECORD IS STANDARD
                                VALUE OF FILE-ID IS "..\ALQUILERES.DAT".
       01 REG_ALQUILERES_IND.
           03 CLAVE_ALQUILERES_IND.
               05 ALQ_PATENTE_IND PIC X(6).
               05 ALQ_FECHA_IND.
                   07 ALQ_FECHA_ANO_IND PIC 9(4).
                   07 ALQ_FECHA_MES_IND PIC 9(2).
                   07 ALQ_FECHA_DIA_IND PIC 9(2).
           03 ALQ_TIPO_DOC_IND PIC X.
           03 ALQ_NRO_DOC_IND  PIC X(20).
           03 ALQ_IMPORTE_IND  PIC 9(4)V99.
           03 ALQ_CHOFER_IND PIC X(7).
           03 ALQ_ESTADO_IND PIC X.
           
       FD ARCH_CHOFERES_IND      LABEL RECORD IS STANDARD
                                 VALUE OF FILE-ID IS "..\CHOFERES.DAT".
       01 REG_CHOFERES_IND.
           03 CLAVE_CHOFERES_IND.
               05 CHO_NRO_LEGAJO_IND PIC X(7).
               05 CHO_DESDE_FECHA_IND.
                   07 CHO_DESDE_FECHA_ANO_IND PIC 9(4).
                   07 CHO_DESDE_FECHA_MES_IND PIC 9(2).
                   07 CHO_DESDE_FECHA_DIA_IND PIC 9(2).
           03 CHO_HASTA_FECHA_IND.
               05 CHO_HASTA_FECHA_ANO_IND PIC 9(4).
               05 CHO_HASTA_FECHA_MES_IND PIC 9(2).
               05 CHO_HASTA_FECHA_DIA_IND PIC 9(2).
           03 CHO_TURNO_IND PIC X.  
       
       FD ARCH_CLIENTES_IND       LABEL RECORD IS STANDARD
                              VALUE OF FILE-ID IS "..\CLIENTES.DAT".
	   01 REG_CLIENTES_IND.
	       03 CLI_NUMERO_IND PIC X(8).
		   03 CLI_FECHA_ALTA_IND.
		       05 CLI_FECHA_ALTA_ANO_IND PIC 9(4).
               05 CLI_FECHA_ALTA_MES_IND PIC 9(2).
               05 CLI_FECHA_ALTA_DIA_IND PIC 9(2).
		   03 CLI_TELEFONO_IND PIC X(20).
		   03 CLI_DIRECCION_IND PIC X(30).
		   03 CLI_DOCUMENTO_IND PIC X(20).
       
      
       WORKING-STORAGE SECTION.
      *VARIABLES DE FILE STATUS.
       01 ESTADO_ALQUILERES_SEC PIC XX.
           88  OK_ALQUILERES_SEC  VALUE '00'.
           88  EOF_ALQUILERES_SEC VALUE '10'.
       01 ESTADO_CHOFERES_SEC PIC XX.
           88  OK_CHOFERES_SEC  VALUE '00'.
           88  EOF_CHOFERES_SEC VALUE '10'.   
       01 ESTADO_ALQUILERES_IND PIC XX.
           88  OK_ALQUILERES_IND  VALUE '00'.
           88  NO_EXISTE_ALQUILERES_IND VALUE '23'.
           88  EOF_ALQUILERES_IND VALUE '10'.
       01 ESTADO_CHOFERES_IND PIC XX.
           88  OK_CHOFERES_IND  VALUE '00'.
           88  NO_EXISTE_CHOFERES_IND VALUE '23'.
           88  EOF_CHOFERES_IND VALUE '10'.
       01 ESTADO_CLIENTES_IND PIC XX.
           88  OK_CLIENTES_IND  VALUE '00'.
           88  NO_EXISTE_CLIENTES_IND VALUE '23'.
           88  EOF_CLIENTES_IND VALUE '10'.
       01 ESTADO_CLIENTES_SEC PIC XX.
           88  OK_CLIENTES_SEC  VALUE '00'.
           88  EOF_CLIENTES_SEC VALUE '10'.
           
       PROCEDURE DIVISION.
       PERFORM 1000_ABRO_ARCHIVOS.
       PERFORM 2000_LEER_ALQUILERES_SEC.
       PERFORM 3000_LEER_CHOFERES_SEC.
       PERFORM 4000_LEER_CLIENTES_SEC.
       PERFORM 5000_GRABAR_ALQUILERES_IND UNTIL EOF_ALQUILERES_SEC.
       PERFORM 6000_GRABAR_CHOFERES_IND UNTIL EOF_CHOFERES_SEC.
       PERFORM 7000_GRABAR_CLIENTES_IND UNTIL EOF_CLIENTES_SEC.
       PERFORM 8000_CIERRAR_ARCHIVOS.
       STOP RUN.
       
       1000_ABRO_ARCHIVOS.
       OPEN INPUT ARCH_CLIENTES_SEC.
       IF  NOT OK_CLIENTES_SEC
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO CLIENTES SECUENCIAL'
           STOP RUN.
       OPEN INPUT ARCH_CHOFERES_SEC.
       IF  NOT OK_CHOFERES_SEC
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO CHOFERES SECUENCIAL'
           STOP RUN.
       OPEN INPUT ARCH_ALQUILERES_SEC.
       IF  NOT OK_ALQUILERES_SEC
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO ALQUILERES SECUENCIAL'
           STOP RUN.
       OPEN OUTPUT ARCH_CLIENTES_IND.
       IF  NOT OK_CLIENTES_IND
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO CLIENTES INDEXADO'
           STOP RUN.
       OPEN OUTPUT  ARCH_CHOFERES_IND.
       IF  NOT OK_CHOFERES_IND
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO CHOFERES INDEXADO'
           STOP RUN.
       OPEN OUTPUT  ARCH_ALQUILERES_IND.
       IF  NOT OK_ALQUILERES_IND
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO ALQUILERES INDEXADO'
           STOP RUN.
       
       
       2000_LEER_ALQUILERES_SEC.
       READ ARCH_ALQUILERES_SEC. 
           IF NOT OK_ALQUILERES_SEC AND NOT EOF_ALQUILERES_SEC
               DISPLAY 'ERROR AL LEER EL ARCHIVO ALQUILERES SEC'
               STOP RUN.
       
       3000_LEER_CHOFERES_SEC.
       READ ARCH_CHOFERES_SEC. 
           IF NOT OK_CHOFERES_SEC AND NOT EOF_CHOFERES_SEC
               DISPLAY 'ERROR AL LEER EL ARCHIVO CHOFERES SEC'
               STOP RUN.
       
       4000_LEER_CLIENTES_SEC.
       READ ARCH_CLIENTES_SEC. 
           IF NOT OK_CLIENTES_SEC AND NOT EOF_CLIENTES_SEC
               DISPLAY 'ERROR AL LEER EL ARCHIVO CLIENTES SEC'
               STOP RUN.
       
       5000_GRABAR_ALQUILERES_IND.
       WRITE REG_ALQUILERES_IND FROM REG_ALQUILERES_SEC.
       IF  NOT OK_ALQUILERES_IND
           DISPLAY 'ERROR AL GRABAR EL ARCHIVO ALQUILERES INDEXADO'
           STOP RUN.
       PERFORM 2000_LEER_ALQUILERES_SEC.
       
       6000_GRABAR_CHOFERES_IND.
       WRITE REG_CHOFERES_IND FROM REG_CHOFERES_SEC.
       IF  NOT OK_CHOFERES_IND
           DISPLAY 'ERROR AL GRABAR EL ARCHIVO CHOFERES INDEXADO'
           STOP RUN.
       PERFORM 3000_LEER_CHOFERES_SEC.
      
       7000_GRABAR_CLIENTES_IND.
       WRITE REG_CLIENTES_IND FROM REG_CLIENTES_SEC.
       IF  NOT OK_CLIENTES_IND
           DISPLAY 'ERROR AL GRABAR EL ARCHIVO CLIENTES INDEXADO'
           STOP RUN.
       PERFORM 4000_LEER_CLIENTES_SEC. 
       
       8000_CIERRAR_ARCHIVOS.
       CLOSE ARCH_ALQUILERES_SEC
       IF NOT OK_ALQUILERES_SEC
           DISPLAY 'ERROR EN CLOSE DE ALQUILERES SEC'
           STOP RUN.
       CLOSE ARCH_CHOFERES_SEC
       IF NOT OK_CHOFERES_SEC
           DISPLAY 'ERROR EN CLOSE DE CHOFERES SEC'
           STOP RUN.                                                      
       CLOSE ARCH_CLIENTES_SEC
       IF NOT OK_CLIENTES_SEC
           DISPLAY 'ERROR EN CLOSE DE CLIENTES SEC'
           STOP RUN.
       CLOSE ARCH_ALQUILERES_IND
       IF NOT OK_ALQUILERES_IND
           DISPLAY 'ERROR EN CLOSE DE ALQUILERES IND'
           STOP RUN.
       CLOSE ARCH_CHOFERES_IND
       IF NOT OK_CHOFERES_IND
           DISPLAY 'ERROR EN CLOSE DE CHOFERES IND'
           STOP RUN.
       CLOSE ARCH_CLIENTES_IND
       IF NOT OK_CLIENTES_IND
           DISPLAY 'ERROR EN CLOSE DE CLIENTES IND'
           STOP RUN.
       
       end program TP-GENERAR.
.
           